\chapter{Conclusions and Outlook}
During the practical work, it emerged, that the idea of using shortest path finding
algorithms works well, at least for conversion graphs with small numbers of vertices.
However, it could not been shown, whether the idea would work for larger graphs as 
well. But for a library, offering conversions of geometric data, this is however 
of crucial importance. Such a library could only be of use, if it would support a large
number of types.
In order to be practically useful, it should at least support the geometric types
used in the then to hundred most important libraries processing geometric data. A list
naming some important packages is provided in table \ref{packages}. It can be expected,
that the conversion library would have to support roughly 300 geometric types. As it has
been shown, however, a single conversion procedure one of the most relative types
can often be written in just a few lines of code.\footnote{Often less than a hundred lines.}    

If the approach of using shortest path algorithm would fail on larger conversion graphs,
it can be expected to fail only due to the challenge of assigning the edge weights in a
proper manner. In such a case a further computer program might be useful in designing
the edge weights. This program might use as follows. It would take the graph with the
edge weights assigned as it has been done by now. Once the user gets a senseless conversion
chain from the graph, he should manually enter the desired conversion chain for the
given pair of source type and target type. In a next step, should this program be able 
to adapt all edge weight in a way, that all shortest paths will stay the same, but the one
connecting the given source type to the given target type should be changed to that
desired one.

Besides that issue, it can be expected, that the approach will be way more useful and
simplify work with a waste number of types. The alternative of using shortest path would
be of using a precalculated table. Besides the work required to maintain this table for
the expected number of 300 types it would have the drawback, that any user who would 
want to add one single type to the library would have to edit a waste number of entries
in this table in order to get his custom type well integrated.


\begin{table}[h]
  \begin{tabular}[t]{l|l|l}
  Name & url & Description\\
   \hline
  OGRE 3D & www.ogre3d.org    & A 3D library for OpenGL and/or Direct3D. \\ & & [Open source, LGPL] \\
    & &  \\
      \hline
  ODE & www.ode.org           & Open Dynamics Engine is an open source,\\ & &  high performance library for \\
      &                       & simulating rigid body dynamics. \\ & &  [Open source, LGPL or BSD-style] \\
\hline
 Python Computer& http://cgkit.sourceforge.net & a collection of Python modules that \\ & & contain the basic types and \\
 Graphics Kit &                       & functions to be able to \\ & &  create 3D computer graphics images  \\ & &(focusing 
                                        on Pixar's RenderMan interface). \\ & & [Open source, LGPL or GPL] \\
\hline
  Generic Graphics & http://ggt.sourceforge.net & a collection of tools implementing Graphics \\
  Toolkit    &                    &   primitives in generalized ways [LGPL] \\
\hline
U3D Rendering Engine &  http://utopia3d.sourceforge.net &   A Free General 3D Graphics API \\ & & for use in 3D Game/Visualization Projects. \\
    &                                                    & [GPL] \\
\hline
  GTS    & http://gts.sourceforge.net & The GNU Triangulated Surface Library. \\ & & A Library intended to provide a set of useful \\
         &                             &  functions to deal with 3D surfaces \\ & & meshed with interconnected triangles. \\
\hline
ColDet 3D & http://coldet.sourceforge.net & This library is an effort to provide \\ & & a free collision
  detection library \\  & & for generic polyhedra. [LGPL] \\
\hline
FreeSOLID & http://www.win.tue.nl/ & SOLID is a library for collision \\ 
& & detection of three-dimensional \\
          & ~gino/solid                              & objects undergoing rigid \\ & &motion and deformation. \\
\hline
Normal/Displacement  & http://epsylon.rptd.ch/ & A tool designed to help you  \\
Map Generator & denormgen.php & create Geometry Normal Maps. [GPL] \\
 
\hline
Open Computer& http://www.intel.com/ & This library is mainly \\ & & aimed at real time computer \\
Vision Library & technology/computing/& vision.  Some example areas would be  \\ & & Human-Computer Interaction (HCI); \\
& opencv/index.htm  & Object Identification, Segmentation  \\ & & and Recognition; Face Recognition; \\
& & Gesture Recognition; Motion Tracking, \\ & &  Ego Motion, Motion Understanding;  \\
& & Structure From Motion (SFM); \\ & & and Mobile Robotics. 




            


 
  \end{tabular}
  \caption{Some important libraries that process and/or return geometric data.}
  \label{packages}
  \end{table}



